﻿Public Class KOZandra
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "ZANDRA"
        Armee = Armeen.BT.ToString
        Musik = "Zandra"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 4
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 4
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 4
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 3
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name
        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        WetterartfuerSenker(0) = ObjektSpielfeld.Wetterarten.Sandsturm
        ReDim WetterReichweitenbonus(0)
        WetterReichweitenbonus(0) = 1
        Bewegunssenker = New ObjektSpielfeld.Wetterarten() {ObjektSpielfeld.Wetterarten.Sandsturm}
        Bewegungswetter = New Bewegungsarten() {Bewegungsarten.Sonne}
        Wetter = ObjektSpielfeld.Wetterarten.Sandsturm
        Wetterbouns = 20
        LandschaftsVertauschung = New String(,) {{"WUESTE", "EBENE"}, {"WUESTE+SCHROTT", "EBENE+SCHROTT"}, {"KAKTEEN", "WALD"}, {"FELSEN", "BERG"}, {"AUSGETROCKNETESFLUSSBETT", "FLUSS"}}
        Wetterimmunitaet = New ObjektSpielfeld.Wetterarten() {ObjektSpielfeld.Wetterarten.Sandsturm}
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Dim M As ObjektSpielMenue = Objektverwalter.Menue
        WetterReichweitenbonus(0) = 2
        If OhneFunktion = False Then
            Dim WZeit As Integer = 2
            AnimationFeindliche("DRAKEGABE", WZeit)
            BackbufferSpiel.AddAnimation("SCREENFLASH", WZeit, New Point, True, ObjektSpielfeld.TopLayer)
            WetterAendern(ObjektSpielfeld.Wetterarten.Sandsturm, 1)
            AlleFeindeBeschaedigen(1)
        End If
        GabeEingesetzt()
    End Sub
    Public Overrides Function GetPowerScript(ByVal Power As Integer) As KOCustom.Power.PowerScript
        Select Case Power
            Case 1
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMassDamage(1, KOCustom.Power.PowerScript.EffectMassDamage.DamageUnit.AllEnemies))
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectChangeWeather(ObjektSpielfeld.Wetterarten.Sandsturm, 1))
                Return P
            Case 2
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMassDamage(2, KOCustom.Power.PowerScript.EffectMassDamage.DamageUnit.AllEnemies))
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectChangeWeather(ObjektSpielfeld.Wetterarten.Sandsturm, 2))
                Return P
            Case Else
                Return Nothing
        End Select
    End Function

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWars Then
            Dim M As ObjektSpielMenue = Objektverwalter.Menue
            WetterReichweitenbonus(0) = 2
            If OhneFunktion = False Then
                Dim WZeit As Integer = 2
                AnimationFeindliche("DRAKEGABE", WZeit)
                BackbufferSpiel.AddAnimation("SCREENFLASH", WZeit, New Point, True, ObjektSpielfeld.TopLayer)
                WetterAendern(ObjektSpielfeld.Wetterarten.Sandsturm, 1)
                AlleFeindeBeschaedigen(1)
            End If
            GabeEingesetzt()
        ElseIf DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            Dim M As ObjektSpielMenue = Objektverwalter.Menue
            Wetterbouns = 40
            WetterReichweitenbonus(0) = 3
            If OhneFunktion = False Then
                Dim WZeit As Integer = 2
                AnimationFeindliche("SPEZIALGABE", WZeit)
                BackbufferSpiel.AddAnimation("SCREENFLASH", WZeit, New Point, True, ObjektSpielfeld.TopLayer)
                WetterAendern(ObjektSpielfeld.Wetterarten.Sandsturm, 2)
                AlleFeindeBeschaedigen(1)
            End If
            GabeEingesetzt()
        Else
            Dim M As ObjektSpielMenue = Objektverwalter.Menue
            Wetterbouns = 50
            WetterReichweitenbonus(0) = 3
            If OhneFunktion = False Then
                Dim WZeit As Integer = 2
                AnimationFeindliche("SPEZIALGABE", WZeit)
                BackbufferSpiel.AddAnimation("SCREENFLASH", WZeit, New Point, True, ObjektSpielfeld.TopLayer)
                WetterAendern(ObjektSpielfeld.Wetterarten.Sandsturm, 2)
                AlleFeindeBeschaedigen(2)
            End If
            GabeEingesetzt()
        End If
    End Sub

    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

Public Class KOBeschreibungZandra
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Zandra"
        Fein = "Wueste"
        Nein = "Dschungel"
        Beschreibung = New String() {"Besser bekannt als,", "Wuestenfuchs. Sie lebt", "in und fuer die Wueste.", "Sie ist Herrscherin", "von Brown Tundra"}
        Stil = New String() {"Sandstuerme erhoehen ihre", "Reichweite und ihre", "Truppen kaempfen dort", "besser."}
        Gabebeschreibung = New String() {"Ein Sandsturm bricht ein.", "Die Reichweite ihrer Truppen", "steigt Gegner erleiden", "1 TP Schaden."}
        SpezialgabeBeschreibung = New String() {"Ein Sandsturm bricht ein.", "Die Reichweite ihrer Truppen steigt.", "Sie kaempfen besser und", "Gegner erleiden 2 TP", "Schaden."}
        GabeKosten = 4
        Spezialgabekosten = 4
        Gaben = New String() {"Wanderduene", "Sandsturm"}
        Synergie = New Decimal() {2}
        KONamen = New String() {"TEMPEST"}
        Doppelgabenamen = New String() {"Wetterchaos"}
        Gabesaetze = New String() {"Maschine haben keine Chance in der Wueste." _
                                    , "Zielen will gelernt sein." _
                                    , "Ihr habt da was im Getriebe." _
                                    , "Ihr habt euch in der Wueste verlaufen." _
                                    , "Ihr solltet eine Oase suchen." _
                                    , "Wer in die Wueste geht sollte immer genug Wasser dabei haben."}
        Siegsaetze = New String() {"Sand ihr saht nur noch Sand." _
                                , "Wer nicht treffen kann!" _
                                , "Man nennt mich Wuestenfuchs. Jetzt wisst ihr warum!"}
        Tauschsaetze = New String() {"Wie es gibt Sand?" _
                                    , "Fuerchtet die Wuesten!"}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("TEMPEST", "ZANDRA", "Mich haelt kein Wetter auf.", "Deshalb seht der Wueste ins Gesicht.") _
                                              , New DoppelGabesatz("ZANDRA", "TEMPEST", "Dieses Wetter...", "koennt ihr sehen, was da kommt?")}
        Niederlagesaetze = New String() {"Es lag daran, dass es hier so kalt ist.", _
                                     "Was? Aber wir haben doch eine globale Klimaerwaermung."}
    End Sub
End Class
